!pr2
80-Column Window Utility for //e and //c............Bill Reed
                                              New Orleans, LA

I throughly enjoyed "Fast Text Windows" by Michael Ching.  However, I prefer not to use the area at $800-BFF as a text buffer; I much prefer to use the first bank of the language card, which is not normally used by Applesoft programs running under DOS 3.3.

I modified Mike's program by changing the immediate values in lines 1560 and 1580 from #$0C to #$D4 and adding lines 1644, 1646 and 1905. The first two lines enable the bank of RAM to be read or written to.  The last re-enables the Applesoft ROMS.

     1644       LDA $C08B
     1646       LDA $C08B
     1905       LDA $C082

I further modified the program to function in 80 columns on a //e or //c.  The big problem was to mimic the text card, which uses bank switching to store adjacent characters in the same address, but different locations (main RAM and aux RAM).  This was solved by using one buffer for the "even" characters and another for the "odd".

Additional code was required to determine the even/odd condition, so I (being lazy) removed the border portion of the program to conserve room.  The border routines could certainly be retained if part of the program was also moved to bank one of the language card area.  (Be careful if you try this, because you must avoid calling the monitor or Applesoft ROMs when the ROMs are switched off.  You can possibly get away with calling the monitor with the ROMs switched off, but only if you first make a copy of the monitor in the F800-FFFF area of RAM.)

I moved the data storage to the zero page, mostly because it was available and slightly faster.
